iT邦幫忙

2024 iThome 鐵人賽

DAY 11
1

“It takes 20 years to build a reputation and a few minutes of cyber-incident to ruin it.” ― Stephane Nappo.

題目:

what’s a net cat?

看到一個指令,除了上網翻文檔以外,也可以用指令查看內建的文檔:

$ man nc
# 如果使用自己的環境沒有這個命令的話,可以去找你的操作系統對應的安裝方式

可以看到有非常多詳細的參數與介紹(q退出, j往下, k往上)。

依照給定用法使用:

$ nc jupiter.challenges.picoctf.org 64287
You are on your way to becoming the net cat master
picoCTF{nEtCat_Mast3ry_284be8f7}

Nice netcat…

使用nc連線後,發現輸出一堆數字,按Ctrl+C中斷,此時我們可以看一下Hints,提到了ASCII:

ASCII表是電腦把數字與字元做一個映射關係(65對應到A, 98對應到b)。

簡單寫一個Python或C++程式將數字轉換成對應的字元即可:

(nano convert.py or vim convert.py (也可以先用touch convert.py創建檔案再用vim或nano開啟,vi或vim通常Unix系統會自帶,nano則不一定)

while True:
	n = int(input())
	print(chr(n), end='') # end默認會插入'\n'換行,透過指定end不換行,讓輸出更好閱讀
#include <iostream>

int main()
{
	int num;
	while (std::cin >> num)
	{
		std::cout << char(num);
	}
	return 0;
}

還記得昨天我們提到的 pipeline管道符 “|”嗎?

# 將nc mercury.picoctf.net 35562 連線後的結果 當成 python convert.py的輸入
$ nc mercury.picoctf.net 35652 | python convert.py

# C++要先用 g++ convert.cpp -o convert 編譯成可執行檔convert
$ nc mercury.picoctf.net 35652 | ./convert

picoCTF{g00d_k1tty!_n1c3_k1tty!_9b3b7392}

(延伸思考: Mastery的e為什麼被打成3、good被打成g00d?) https://zh.wikipedia.org/zh-tw/Leet)


上一篇
Day16 資訊安全(0) 介紹
下一篇
Day18 資訊安全(2) picoCTF (2)
系列文
什麼都摸一點!拒絕當不沾鍋!30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言